//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================
/*
 * memcmp.c:  compare two memory regions. From linux/lib/string.c
 *
 * Copyright (C) 1991, 1992  Linus Torvalds
 * Copyright (C) 2003  Stefan Eletzhofer <stefan.eletzhofer@eletztrick.de>
 *
 * $Id: memcmp.c,v 1.2 2006/06/23 07:18:22 zhangyi Exp $
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#ident "$Id: memcmp.c,v 1.2 2006/06/23 07:18:22 zhangyi Exp $"

#ifdef HAVE_CONFIG_H
# include <blob/config.h>
#endif

#if 0
#include <blob/util.h>
#include <blob/types.h>
#endif

#include "types.h"

/**
 * memcmp - Compare two areas of memory
 * @cs: One area of memory
 * @ct: Another area of memory
 * @count: The size of the area.
 */
int memcmp(const void * cs, const void * ct, size_t count)
{
    const unsigned char *su1, *su2;
    int res = 0;

    for (su1 = cs, su2 = ct; 0 < count;++su1,++su2, count--)
        if ((res = *su1 - *su2) != 0)
            break;
    return res;
}
